/*
 * Copyright (C) 2016 yixun All Rights Reserved.
 * 
 * ProjectInfoService.java
 */
package com.emm.yixun.estate.service.app;

import javax.jws.WebService;

import com.emm.yixun.common.app.AddProjectRealMapReqDto;
import com.emm.yixun.common.app.AddProjectRealMapResDto;
import com.emm.yixun.common.app.DelProjectRealMapReqDto;
import com.emm.yixun.common.app.DelProjectRealMapResDto;
import com.emm.yixun.common.app.GetBuildingListReqDto;
import com.emm.yixun.common.app.GetBuildingListResDto;
import com.emm.yixun.common.app.GetDealHouseListReqDto;
import com.emm.yixun.common.app.GetDealHouseListResDto;
import com.emm.yixun.common.app.GetDealHouseTypeListReqDto;
import com.emm.yixun.common.app.GetDealHouseTypeListResDto;
import com.emm.yixun.common.app.GetHouseTypeListReqDto;
import com.emm.yixun.common.app.GetHouseTypeListResDto;
import com.emm.yixun.common.app.GetHousesDetailReqDto;
import com.emm.yixun.common.app.GetHousesDetailResDto;
import com.emm.yixun.common.app.GetHousesListReqDto;
import com.emm.yixun.common.app.GetHousesListResDto;
import com.emm.yixun.common.app.GetMarketingControlListReqDto;
import com.emm.yixun.common.app.GetMarketingControlListResDto;
import com.emm.yixun.common.app.GetPaymentNotSignedListReqDto;
import com.emm.yixun.common.app.GetPaymentNotSignedListResDto;
import com.emm.yixun.common.app.GetPremisesListReqDto;
import com.emm.yixun.common.app.GetPremisesListResDto;
import com.emm.yixun.common.app.GetPriceRecordListReqDto;
import com.emm.yixun.common.app.GetPriceRecordListResDto;
import com.emm.yixun.common.app.GetProjectListReqDto;
import com.emm.yixun.common.app.GetProjectListResDto;
import com.emm.yixun.common.app.GetRoomListReqDto;
import com.emm.yixun.common.app.GetRoomListResDto;
import com.emm.yixun.common.app.GetSalesTargetListReqDto;
import com.emm.yixun.common.app.GetSalesTargetListResDto;
import com.emm.yixun.common.app.GetStockHouseListReqDto;
import com.emm.yixun.common.app.GetStockHouseListResDto;
import com.emm.yixun.common.app.GetStockTimeListReqDto;
import com.emm.yixun.common.app.GetStockTimeListResDto;
import com.emm.yixun.common.app.GetTimeConditionAnalysisReqDto;
import com.emm.yixun.common.app.GetTimeConditionAnalysisResDto;
import com.emm.yixun.common.app.GetUnitListReqDto;
import com.emm.yixun.common.app.GetUnitListResDto;
import com.emm.yixun.common.app.ProjectsPmoReqDto;
import com.emm.yixun.common.app.ProjectsPmoResDto;
import com.emm.yixun.common.model.appDto.TimeConditionAnalysisReq;

/**
 * [文件名称]<br>
 * ProjectInfoServiceAppFacade.java<br>
 * <br>
 * [文件描述]<br>
 * 房产项目信息 service interface<br>
 */
@WebService
public interface ProjectInfoServiceAppFacade {
	/**
     * getProjectList:(app查询项目列表接口) - service
     * 
     * @author 作者(ny)
     * @param version  app版本号
     * @param merchantId  商家Id
     * @param userId  用户编号
     * @param token 会话token
     * @param terminalCode  终端编码
     * @return 
     */
	public GetProjectListResDto getProjectList(GetProjectListReqDto reqDto);
	
	/**
	 * 查询关注户型
	 * @param reqDto 关注户型搜索条件
	 * @return 关注户型
	 */
	public GetHouseTypeListResDto getHouseTypeList(GetHouseTypeListReqDto reqDto);
	
	/**
	 * 查询关注组团
	 * @param reqDto 关注组团搜索条件
	 * @return 关注组团
	 */
	public GetPremisesListResDto getPremisesList(GetPremisesListReqDto reqDto);
	
	/**
	 * 查询关注楼栋
	 * @param reqDto 关注楼栋搜索条件
	 * @return 关注楼栋
	 */
	public GetBuildingListResDto getBuildingList(GetBuildingListReqDto reqDto);
	
	/**
	 * 查询关注单元
	 * @param reqDto 关注单元搜索条件
	 * @return 关注单元
	 */
	public GetUnitListResDto getUnitList(GetUnitListReqDto reqDto);
	
	/**
	 * 查询关注房号
	 * @param reqDto 关注房号搜索条件
	 * @return 关注房号
	 */
	public GetRoomListResDto getRoomList(GetRoomListReqDto reqDto);
	
	/**
	 * 查询房源列表接口(getHousesList)
	 * @param reqDto 房源
	 * @return 房源信息
	 */
	public GetHousesListResDto getHousesList(GetHousesListReqDto reqDto);
	
	/**
	 * 查询房源列表接口(getHousesList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetMarketingControlListResDto getMarketingControlList(GetMarketingControlListReqDto reqDto);
	
	/**
	 * 查询房源列表接口(getHousesList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetHousesDetailResDto getHousesDetail(GetHousesDetailReqDto reqDto);
	
	/**
	 * （4）新增项目实景图接口(addProjectRealMap)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public AddProjectRealMapResDto addProjectRealMap(AddProjectRealMapReqDto reqDto);
	
	/**
	 * （5）删除项目实景图接口(delProjectRealMap)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public DelProjectRealMapResDto delProjectRealMap(DelProjectRealMapReqDto reqDto);
	
	/**
	 * （9）查询销售指标 (getSalesTargetList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetSalesTargetListResDto getSalesTargetList(GetSalesTargetListReqDto reqDto);
	
	/**
	 * （13）查询算价分析(getPriceRecordList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetPriceRecordListResDto getPriceRecordList(GetPriceRecordListReqDto reqDto);
	
	/**
	 * （11）查询成交房源分析(getDealHouseList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetDealHouseListResDto getDealHouseList(GetDealHouseListReqDto reqDto);

	/**
	 * （12）查询存量房源分析(getStockHouseList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetStockHouseListResDto getStockHouseList(GetStockHouseListReqDto reqDto);

	/**
	 *（11）查询成交房源类型分析(getDealHouseTypeList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetDealHouseTypeListResDto getDealHouseTypeList(GetDealHouseTypeListReqDto reqDto);

	/**
	 *（10）查询存量时间分析(getStockTimeList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetStockTimeListResDto getStockTimeList(GetStockTimeListReqDto reqDto);

	/**
	 *（15）查询已签约未回款分析(getPaymentNotSignedList)
	 * @param reqDto 房源
	 * @return 销控信息
	 */
	public GetPaymentNotSignedListResDto getPaymentNotSignedList(GetPaymentNotSignedListReqDto reqDto);
	
	/**
	 *（19）时间条件查询分析接口(getTimeConditionAnalysis)
	 * @param reqDto 
	 * @return 
	 */
	public GetTimeConditionAnalysisResDto getTimeConditionAnalysis(GetTimeConditionAnalysisReqDto reqDto);
	
	/**
	 *时间条件查询分析扩展公用方法
	 * @param salesTargetDto 
	 * @return 
	 */
	public String getSalesTargetEntity(TimeConditionAnalysisReq timeConditionAnalysisReq, String flag);
	
	
	/**
	 *项目创建与编辑接口（绿城扩展PMO）
	 * @param reqDto 
	 * @return 
	 */
	public ProjectsPmoResDto projectsPmo(ProjectsPmoReqDto reqDto);

}
